ソースコード
#coding:utf-8
#set セット
#setの定義
#セットにある要素はランダム的な順序に現れる。
#重複な要素duplicatesが許容されない。
#以下のように書かれでも、定義された結果は変わる。
a = {"apple","banana","kiwi","strawberry","apple"}
print(type(a),a)
#要素のアクセス
for x in a:
print(x)
#セットが定義されたら要素の変更ができない。
#要素の追加
b={22,34,11,76}
b.add(5)
print(b)
#セットの削除 a.clear()
#要素の削除
#存在しない要素の削除はエラーメッセージがでる
a.remove("apple")
print(a)
#要素の削除
#存在しない要素の削除はエラーメッセージが出ない
b.discard(76)
print(b)
#join sets by union
c = a.union(b)
print(c)
s1 = {"a","b","c"}
s2 ={1,2,3}
s3 = s1 | s2
print(s3)
#set methods
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
#xにあるyにない要素
z = x.difference(y)
#z = x-y
print(z)
#xから両方存在する要素を削除する
#x -= y
x.difference_update(y)
print(x,y)
#かつ:両方存在する要素
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
#z = x&y
z = x.intersection(y)
print(z)
#xから共有要素以外を削除する
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
#x &=y
x.intersection_update(y)
print(x,y)
#部分集合の判別
x = {"a", "b", "c"}
y = {"f", "e", "d", "c", "b", "a"}
# x <= y
z = x.issubset(y)
print(z)
# 部分集合の判別
x = {"f", "e", "d", "c", "b", "a"}
y = {"a", "b", "c"}
# x >= y
z = x.issuperset(y)
print(z)